package com.example.joblinker.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("job")
public class Job {
    
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 发布者用户ID
     */
    private Long userId;
    
    /**
     * 公司ID
     */
    private Long companyId;
    
    /**
     * 职位分类ID
     */
    private Long categoryId;
    
    /**
     * 职位标题
     */
    private String title;
    
    /**
     * 职位描述
     */
    private String description;
    
    /**
     * 职位要求
     */
    @TableField("requirement")
    private String requirement;
    
    /**
     * 薪资范围
     */
    private String salary;
    
    /**
     * 工作城市
     */
    private String city;
    
    /**
     * 详细地址
     */
    private String address;
    
    /**
     * 工作经验要求
     */
    private String experience;
    
    /**
     * 学历要求
     */
    private String education;
    
    /**
     * 职位标签
     */
    private String tags;
    
    /**
     * 浏览次数
     */
    private Integer viewCount;
    
    /**
     * 申请次数
     */
    private Integer applyCount;
    
    /**
     * 状态（0-待审核 1-已发布 2-已下线 3-未通过）
     */
    private Integer status;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 逻辑删除
     */
    @TableLogic
    private Integer deleted;
    
    /**
     * 公司名称（冗余字段）
     */
    @TableField(exist=false)
    private String companyName;
    
    /**
     * 公司Logo（冗余字段）
     */
    @TableField(exist=false)
    private String companyLogo;
} 